﻿using System.Data;
using static System.Console;

/*
 * 使用二维数组来存储产生的随机数
 * 随机数产生的时候需要记录随机数重复的次数
 */


// 声明变量
int intCreate = 1000000; // 产生随机数次数
Random rand = new Random(); // 产生的随机数
int[][] intArray = new int [2][]; // 存储随机数的数组
intArray[0] = new int [42];
intArray[1] = new int [42];

// 将产生的随机数存放到数组中
int intRand;
while (intCreate-- > 0)
{
    intRand = rand.Next(42);
    intArray[0][intRand]++;
    intArray[1][intRand]++;
}

// 对intArray[0]数组进行排序
Array.Sort(intArray[0]);

// 找出重复次数最多的6个随机数
for (int i = 41; i > (41 - 6); i--)
{
    // 逐一检查次数相同者
    for (int j = 41; j >= 0; j--)
    {
        // 当次数匹配时打印输出
        if (intArray[0][i] == intArray[1][j])
        {
            WriteLine($"随机数{j + 1}出现{intArray[0][i]}次");
            intArray[1][j] = 0; // 将找到的随机数对应的重复次数归零
            break; // 中断内循环，继续外循环
        }
    }
}

ReadKey();